這應該是短期間ES的知識篇最後一篇.....
脫離on cloud太久了,怕一個不小心被判失格就GG了
但這些不寫後面引入資料跟建制模板,拉出資料根本講不下去呀
真是令人爲難呢 on cloud這個詞
欸,不是,沒在抱怨主辦方Σヽ(゚Д ゚; )ノ
只是後端技術宅就是比較愛探討怎麽用比較好
但最近加班實在加到腦細胞都快死光了,所以我們來簡單點
原本想來寫Dynamic vs strict
Nested的設定
以及一些mapping的meta訊息
但實在太深了,我也只是會用,要我寫文章
我大概自己也看不懂(≖ᴗ≖๑)
挑幾個常用常見的出來說說
點擊關鍵字可連往官方連結
身爲一個英文聾啞人士,如果還是文盲可能文章寫起來就有點吃力了呢
顧名思議直接由ES去幫助設定這張index的Mapping和相關Setting
按照預設規則自動配對到新創建的索引上,特性有以下
超抽象,來舉個栗子
PUT /_template/template_1
{
"index_patterns" : ["*"],//套用至所有模板
"order" : 0,//基底模板
"settings" : {
"number_of_shards" : 1 //指定套用分片
},
"mappings" : {
"_source" : { "enabled" : false }//是否壓縮字段
}
}
PUT /_template/template_2
{
"index_patterns" : ["te*"],//套用至te開頭的模板
"order" : 1,//覆蓋基底模板
"settings" : {
"number_of_shards" : 1 //指定套用分片
},
"mappings" : {
"_source" : { "enabled" : true }//開啓壓縮字段
}
}
算是比較JS的簡單暴力模板類型,啥意思?ES覺得他是啥就是啥
PUT my_index
{
"mappings": {
"dynamic_templates": [ 模板宣告
{
"strings_as_boolean": { //如果是字段且符合is開頭就設定爲boolean
"match_mapping_type": "string",
"match":"is*",
"mapping": {
"type": "boolean"
}
}
},
{
"strings_as_keywords": { // 如果單存爲字段就設爲keyword
"match_mapping_type": "string",
"mapping": {
"type": "keyword"
}
}
}
]
}
}
天哪,這篇也是一個爆字雖然大步份是程式碼
但想傳達應該有傳達到了
果然寫維運的東西,大部分都是設定,寫起來就有點硬
是該收收東西明天一樣早起耕田~
我覺得你說的 "反人類" ,真的有點道理;
有些地方,比起關聯式資料庫,背後的學理更加高深了....
還好這次是直接在雲端環境進行學習,如果還要搞個軟硬體設定安裝,大概一星期就先不見囉